// 处理邮箱的请求
const router = require('express').Router();
// 导入处理邮箱的模块
const emailApi = require('../email/emailApi');

// 发送QQ邮箱验证码的接口
// URL:  /api/email/send
// 示例地址: http://localhost:3000/api/email/send
// 方式： get
// 参数：email
router.get('/send', async (req,res)=> {
    // 接收qq邮箱
    let { email } = req.query;
    if(email === undefined) {
        res.send({
            code: -1,
            msg: '缺少邮箱参数'
        })
    }
    else {
        // 调用api把验证码发送到邮箱
        // console.log(email)
        await emailApi.getEmailCode(email)
        .then(
            (data) => {
                // 发送邮箱验证码成功
                res.send(data)
            },
            error=> {
                // 发送邮箱验证码失败
                res.send(error)
            }
        )
    }
})

// 验证QQ邮箱和验证码的接口
// URL:  /api/email/verify
// 示例地址: http://localhost:3000/api/email/verify
// 方式: get
// 参数：email test_code
router.get('/verify', async (req,res)=> {
    // 接收qq邮箱
    let { email, test_code } = req.query;
    // 调用api把验证码发送到邮箱
    await emailApi.verifyEmailCode(email,test_code)
    .then(
        (data) => {
            // 发送邮箱验证码成功
            res.send(data)
            // if(data.code == 200) {
            //     // 删除验证码
            //     emailApi.removeEmailCode(email,test_code);
            // }
        },
        error=> {
            // 发送邮箱验证码失败
            res.send(error)
        }
    )
})


// 删除QQ邮箱验证码的接口
// URL:  /api/email/remove
// 示例地址: http://localhost:3000/api/email/remove
// 方式: get
// 参数：email test_code
router.get('/remove', async (req,res)=> {
    // 接收qq邮箱
    let { email, test_code } = req.query;
    // 调用api把验证码发送到邮箱
    await emailApi.removeEmailCode(email,test_code)
    .then(
        data => {
            // 删除邮箱验证码成功
            res.send(data)
        },
        error=> {
            // 发送邮箱验证码失败
            res.send(error)
        }
    )
})

// 暴露
module.exports = router;